namespace Plugins.Engine
{
    using System;
    using System.Diagnostics.CodeAnalysis;

    [Serializable, AttributeUsage(AttributeTargets.Class, Inherited=false, AllowMultiple=false)]
    [SuppressMessage("Microsoft.Design", "CA1019")]
    public sealed class PluginIdAttribute : PluginAttribute
    {
        [SuppressMessage("Microsoft.Naming", "CA1704")]
        [SuppressMessage("Microsoft.Naming", "CA1709")]
        public PluginIdAttribute(byte a1, byte a2, byte a3, byte a4, byte a5, byte a6, byte a7, byte a8, byte b1, byte b2, byte b3, byte b4, byte c1, byte c2, byte c3, byte c4)
            : base("Id", PluginPropertyConverter.ConvertToString<Guid>(new Guid(new byte[] { a4, a3, a2, a1, a6, a5, a8, a7, b1, b2, b3, b4, c1, c2, c3, c4 })))
        {
        }
    }
}

